Android基本组件 您所在的位置:网站首页 android studio文本框控件 Android基本组件

Android基本组件

2024-01-17 23:57| 来源: 网络整理| 查看: 265

Android基本组件——文本框和编辑框  

  Android 中提供两种基本组件:

        文本框(TextView),用于在屏幕显示文本 ;         编辑框(EditView),用于在屏幕显示可编辑的文本框。         (其中,EditView是TextView的子类)  文本框         在Android中,文本框使用TextView表示,用于在屏幕上显示文本。于Java的文本框不同,TextView相当于Java的标签(JLable)。需要说明的是,Android中的文本框可以 显示单行文字,也可以显示多行文字,还可以显示带图像的文本 。         在Android中,可以使用两种方法向屏幕添加文本框。             通过XML布局文件中使用标记添加             在Java文件中,使用new关键字创建。             (推荐使用第一种方法)     通过标记在XML布局文件中添加文本框,其基本语法为:

    TextView 支持的常用XML属性如下(常见):

XML属性 描述android:autoLink  用于指定是否将指定格式的文本转换为可单机的超链接形式。其属性值有none、web、email、phone、map和allandroid:drawableBottom 用于在文本框文本的底部绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置android:drawableLeft用于在文本框文本的左侧绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置android:drawableRight  用于在文本框文本的右侧绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置android:drawableTop  用于在文本框文本的顶部绘制指定图像,改图像可以是放在res/drawable目录先的图片,通过"@drawable/文件名(不包含文件拓展名)"设置android:gravity  用于设置文本框文本对齐方式,可选值有top、buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal等。这些属性值可以同时指定,各属性用竖线隔开。例如:要制定组件靠右下角对其,可以使用属性right|bottom。 android:hint 用于设置当前文本框内容为空时,默认显示的提示文本。android:inputType 用于指定当前文本框显示内容的文本类型,可选值有textPassword、textEmailAddress、phone、date等,可以同时指定多个,使用“|"分割。android:singleLine 用于指定该文本框是否为单行模式,其 值为true或者false,为true表示该文本框不会换行,当文本框中文本呢超过一行时,其超出的部分就会被省略。同时在尾部添加"..."android:text 用于指定该文本框中显示的文本内容,可以直接在该属性中指定,也可以通过在string.xml文件中定义该文本常量的方式制定。android:textColor  用来设置文本框中的颜色,其属性可以使#rgb、#argb、#rrggbb、#aarrggbb格式制定的颜色量android:textSize 用来设置文本框中文本的大小,其属性由代表大小的数值和单位组成,其单位可以使px、pt、sp和in等  android:width 用于指定文本的宽度,以像素为单位android:height用于指定文本的高度,以像素为单位

实例:实现文本框中的E-mail地址添加超链接、显示带图像的文本、显示不同颜色的单行文本和多行文本。(源码下载:点击打开链接)

(1)修改新建项目目录下的res/layout中的布局文件activity_main.xml,将默认的相对布局管理器修改为线性布局管理器,并修改默认的TextView组件高度和对其中E-mail格式文本设置超链接。

修改后为:

修改res/values中的文件string.xml,添加hyperlink: 

点击进入超链接http://sina.cn

 

(2)在默认的TextView组件后面添加一个TextView组件,设置该组件显示带有图片的文本(图片在文本下方,具体代码如下):(需要拷贝图片test.png到目录“………………\workspace\Test_3_11\res\drawable-mdpi”)

(3)步骤2的 基础上添加TextView组建的后面两个TextView组件,一个设置为可多行显示文本(默认),一个设置为单行显示,并将这两个组件设置为不同颜色:

(4)最后效果:

 

点击网址部分后,进入网页(网络连接正常情况下)

编辑框

在Android中,编辑框使用EditText表示,用于在屏幕上显示文本输入框,这与Java中的文本框功能类似。需要说明的是,Android中的编辑框可以输入单行文本,也可以输入多行文本,还可以输入指定格式的文本(如密码,手机号码,E-mail地址等)     在Android中,可以使用两种方法向屏幕添加编辑框:         通过XML布局文件中使用标记添加 ;         在Java文件中,通过new关键字创建 。         (建议使用第一种方法)          基本语法为:     

由于EditText是TextView子类,所以对于上面表格列出的XML属性,同样适用于EditText组件。需要注意的是,在EditText组件中,android:inputType属性可以帮助输入框显示合适的类型。例如,需要添加密码,可将android:inputType属性值设置为textPassword。     在屏幕中添加编辑框后,还需要获取编辑框中的输入内容,这可以通过编辑框组件提供的getText()方法实现。通过该方法,先要获得编辑框组件,然后调用getText方法。例如,要获取布局文件中添加的id属性为login的编辑框的内容,可以通过下面方法实现:

EditText login = (EditText)findViewById(R.id.login) String loginText=login.getText().toString() ; 实例:实现会员注册界面 (源码下载:点击打开链接)

(1)修改新建项目目录下的res/layout中的布局文件activity_main.xml,将默认的相对布局管理器RelativeLayout改为表格布局管理器TableLayout,删除默认的TextView,并为该表格设置背景,在该布局中添加4个TableRow表格行。

(2)在表格的第一行,添加一个用于提示信息的文本框和输入会员昵称的编辑框,并未该行单行编辑设置提示文本,具体如下:

(3)在表格第2行,添加要给用于显示提示信息的文本框和一个输入密码的密码框,具体如下:

(4)在表格第3行,添加一个显示提示信息的文本框和一个输入密码的编辑框,具体如下:

(5)在表格第4行,添加一个显示提示信息的文本和一个输入邮箱的编辑框,具体如下:

(6)添加两个按钮:“注册”和“重置”

(7)在主活动的onCreate()方法中,为"注册"添加一个单机监听事件,用于在用户单机“注册”按钮后,在日志面板(LogCat)中显示输出的内容 ; 为“重置”按键注册监听事件,具体如下:

package com.example.test_3_12; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText nicknameET=(EditText)findViewById(R.id.nickname);/*获取会员昵称编辑框组件*/ final EditText accountET=(EditText)findViewById(R.id.account); /*获取关联QQ/微信账号*/ final EditText pwdET=(EditText)findViewById(R.id.password); /*获取密码编辑框组件*/ final EditText emailET=(EditText)findViewById(R.id.email); /*获取E-mail编辑框组件*/ Button button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String nickname=nicknameET.getText().toString();/*获取输入的会员昵称*/ String account=accountET.getText().toString(); /*获取关联QQ/微信账号编辑框组件*/ String pwd=pwdET.getText().toString(); /*获取输入的密码*/ String email=emailET.getText().toString(); /*获取输入的E-mail地址 */ Log.i("编辑框的应用","会员昵称:"+nickname); Log.i("编辑框的应用","关联账号:"+account); Log.i("编辑框的应用","密码:"+pwd); Log.i("编辑框的应用","E-mail地址:"+email); } }); Button button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { nicknameET.setText("") ; accountET.setText("") ; pwdET.setText("") ; emailET.setText("") ; Log.i("编辑框的应用","全部清空"); } }); } }

(8)最后效果:

点击"注册:,Log输出:

点击“重置”,Log输出:

        



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有